#pragma once

#include "stdio.h"
#include "assert.h"
#include "stdlib.h"


typedef struct
{
	int* a;
	int front;
	int tail;
	int N;
} MyCircularQueue;

MyCircularQueue* myCircularQueueCreate(int k);
int myCircularQueueEnQueue(MyCircularQueue* obj, int value);
int myCircularQueueDeQueue(MyCircularQueue* obj);
int myCircularQueueFront(MyCircularQueue* obj);
int myCircularQueueRear(MyCircularQueue* obj);
int myCircularQueueIsEmpty(MyCircularQueue* obj);
int myCircularQueueIsFull(MyCircularQueue* obj);
void myCircularQueueFree(MyCircularQueue* obj);